昨天提到我們修改完Hello world!!! 的頁面了
那麼我們該如何看到我們所修改的頁面呢?
我們先觀察一下我們所修改頁面的路徑app/views/hello/index.html.erb
我們可以看到這個頁面在hello的路徑下
還記得我們前面執行的指令嗎?
rails g controller Hello index
我們產生了一個名為Hello的controller
因此若我們想要看到該頁面
我們就需要一個幫忙帶位的人
這個人需要知道當使用者有不同的需求時,要把人帶到哪裡去
在rails中,routes就是扮演這個角色的人
routes中會紀錄不同的連入網址要對應到哪個頁面
因此我們編輯config目錄下的routes.rb檔案vim config/routes.rb
Rails.application.routes.draw do
get 'hello/index'
root 'hello#index' //新增這行
end
root 'hello#index'
加入這行指令代表我們將首頁(root)網址來的請求,顯示hello目錄下的index頁面給他
這時重整網頁就可以看到我們修改完成了
ps 因為想修改一個吉祥數字的port號
或是預設的port 3000有與其他服務衝突時
可以使用以下的指令啟動rails server (8888 為 自訂的port)rails server -p 8888
到這裡,我們就修改成功啦
相信初學者在剛接觸rails時應該常會聽到MVC架構
那麼什麼是MVC呢
其實MVC分別是三個單字的縮寫
M => Model
V => View
C => Controller
相信這樣對新手來說有解釋跟沒解釋一樣
那就讓我們來說個故事吧XD
苦主小明是一位剛接手公司陳年專案的菜鳥工程師
現在他接到老闆交付的3個新的任務
老闆要他修改一個頁面的樣示風格,修改商品打折的條件 ; 以及使用者若是VIP會員,則會將使用者頁面轉到VIP會員商品頁面
但是對於剛到職的小明來說公司的網站頁面龐大
一時之間小明不知該如何下手
好在公司的網站是採用MVC架構製作的
因此小明知道跟畫面呈現相關的大致可以在Views的資料夾下找到
商品的折扣條件等涉及商業邏輯的運作可以在Model下進行修改
如果使用者是VIP就顯示特殊的頁面,有關於流程(flow)的處理則可以在controller中找到
MVC架構的好處是能將頁面依功能進行分類,方便後續維護
隨著後續的實作,會慢慢體會MVC架構帶來的好處
剩下的我們明天繼續吧~
參考資料:
https://tw.alphacamp.co/blog/mvc-model-view-controller
https://railsbook.tw/chapters/10-mvc